package com.itlong.cloud.operate.service;

import com.itlong.cloud.POJO.DTO.operate.OperateAppTypeDTO;
import com.itlong.cloud.POJO.DTO.operate.OperateAppTypeGetPageDTO;
import com.itlong.cloud.POJO.VO.operate.InterfaceVO;
import com.itlong.cloud.POJO.VO.operate.OperateAppTypeVO;
import com.itlong.cloud.utils.page.Page;

import java.util.List;

/**
 * <desc>
 *      应用类型业务接口
 * </desc>
 *
 * @createDate 2021-08-04
 */
public interface IOperateAppTypeService {
    /**
    * <desc>
    *      获取分页列表
    * </desc>
    * @param appTypeGetPageDto
    * @return: com.itlong.cloud.utils.page.Page<com.itlong.cloud.POJO.VO.operate.OperateAppTypeVO>
    * @author LiuYu
    * @date: 2021-08-16
     **/
    Page<OperateAppTypeVO> getAppTypeList(OperateAppTypeGetPageDTO appTypeGetPageDto);

    /**
    * <desc>
    *      添加应用类型
    * </desc>
    * @param operateAppTypeDTO
    * @return: java.lang.Integer
    * @author LiuYu
    * @date: 2021-08-16
     **/
    Integer save(OperateAppTypeDTO operateAppTypeDTO) throws Exception;

    /**
    * <desc>
    *      修改应用类型
    * </desc>
    * @param operateAppTypeDTO
    * @return: java.lang.Integer
    * @author LiuYu
    * @date: 2021-08-16
     **/
    Integer update(OperateAppTypeDTO operateAppTypeDTO) throws Exception;

    /**
    * <desc>
    *      删除应用类型
    * </desc>
    * @param ids
    * @return: java.lang.Integer
    * @author LiuYu
    * @date: 2021-08-16
     **/
    Integer delete(String ids);

    /**
    * <desc>
    *      获取接口类型
    * </desc>
    * @param appTypeId
    * @return: java.util.List<com.itlong.cloud.POJO.VO.operate.InterfaceVO>
    * @author LiuYu
    * @date: 2021-08-16
     **/
    List<InterfaceVO> getAllotInterfaces(String appTypeId);

    /**
    * <desc>
    *      提交分配接口
    * </desc>
    * @param appTypeId
    * @param ids
    * @return: java.lang.Integer
    * @author LiuYu
    * @date: 2021-08-16
     **/
    Integer commitAllotInterfaces(String appTypeId,String ids);
}
